#pragma once
#include "Object.h"
#include <iostream>
#include <vector>

class cPlayer : public cObject
{
  private:
    float mfElapsedTime;
    int miLookingAt;
    int miBulletNumber;
    int miPoints;
    unsigned int muiLives;
    std::vector<cObject *> mvObjects;
    void DrawHud();
  public:
    cPlayer()
      {
	      mfElapsedTime = 0.0f;
	      miLookingAt = eO_South;
	      miBulletNumber = 0;
	      miPoints = 0;
        muiLives = 3;
      }
    void Update(float lfTimeStep);
    void Render();
    inline unsigned int GetPoints() { return miPoints;}
    inline void SetPoints(int liPoints) { miPoints = liPoints;}
    bool HasObject(std::string lsName);
    void GiveObject(cObject *lcObject);
    void RemoveObject(std::string lsName);
    void Kill();
    inline unsigned int GetLives() {return muiLives;}
    inline void SetLives(unsigned int luiLives) {muiLives = luiLives;}
    ~cPlayer();
};
